package pers.sloera.leetcode.containsDuplicate;

import java.util.HashSet;

/**
 * 217. 存在重复元素
 * <p>
 * 给定一个整数数组，判断是否存在重复元素。
 * <p>
 * 如果任意一值在数组中出现至少两次，函数返回 true 。如果数组中每个元素都不相同，则返回 false 。
 *
 * @author SloeraN
 * @version 1.0
 * @class pers.sloera.leetcode.containsDuplicate.Solution
 * @date 2020/12/13
 */
public class Solution {


    /**
     * 通过 set 来判断是否已出现过
     *
     * @param nums 输入数组
     * @return boolean {@code true:}有重复元素；{@code false:}无重复元素
     * @date 2020/12/13
     */
    public boolean containsDuplicate(int[] nums) {
        HashSet<Integer> integers = new HashSet<>(nums.length);
        for (int i = 0; i < nums.length; i++) {
            if (!integers.contains(nums[i])) {
                integers.add(nums[i]);
            } else {
                return true;
            }
        }
        return false;
    }

}
